Workflow Management Systems (WFMSs) are increasingly used by many companies to improve the efficiencies of business processes, thereby reducing costs and execution times. As one example, a WFMS may be employed to monitor activities related to manufacturing printers, with the diverse activities including those involving purchasing parts. In general, a WFMS logs events that occur during process executions, including the start and completion time of each activity, input and output data, and the resources that were used in executing the process. However, most WFMSs only offer basic log analysis functionality, such as identifying the number of processes completed in a given time period and computing their average execution time. In order to attain a more comprehensive report, the user must configure commercial reporting tools and write queries to the logs to retrieve the data of interest. While this approach does provide some basic reporting functionality, it requires a considerable configuration effort, since it is sometimes difficult to construct the “right” queries to extract the desired information. In addition, WFMSs are not designed for on-line analytical processing (OLAP) applications.
Another concern associated with storing process data is the need to properly categorize and/or organize multiple types of related facts. Workflow executions may generate different kinds of facts about the process activities, resources, and instances. The facts are related to each other, since they are all relevant to the same workflow process. However, the need to accommodate different types of facts may cause difficulties in avoiding data loss and in assuring an acceptable level of performance in informatively presenting the data that is stored.
What is needed is a method and system to more efficiently manage data that are related to process executions.